package concurrent.chapter1;

//02讲、介绍四种Singleton方式的优缺点在多线程情况下
public class SingletonObject2 {
    private static SingletonObject2 instance;

    private SingletonObject2() {
        //empty
    }

    public static SingletonObject2 getInstance() {
        if (null == instance)
            //假设2个线程执行到这里，1号线程放弃了cpu执行权，2号线程执行就new了一个实例并往后执行走了，
            // 然后1号线程再来执行会再new一个实例。这样会出现多个实例
            instance = new SingletonObject2();
        return SingletonObject2.instance;
    }

}
